from pymysql import connect
from config import *

class DB(object):
    """数据库操作管理类"""
    def __init__(self):
        # 创建数据库连接
        self.conn = connect(host=DB_HOST, port=DB_PORT,database=DB_NAME, user=DB_USER, password=DB_PASS,charset='utf8')

        #获取游标
        self.cursor = self.conn.cursor()

    def close(self):
        """释放数据库资源"""
        self.conn.close()
        self.cursor.close()

    def get_one(self,sql):
        """使用sql 语句查询用户信息"""

        # 执行sql语句
        self.cursor.execute(sql)
        # 获取查询结果
        query_result = self.cursor.fetchone()
        # 判断是否有结果
        if not query_result:
            return None
        # 获取字段列表
        fields = [filed[0] for filed in self.cursor.description]
        # 使用字段和结果数据合成字典 供返回使用
        return_data = {}
        for filed,value in zip(fields,query_result):
            return_data[filed] = value

        return return_data

if __name__ == '__main__':
    db = DB()
    data = db.get_one("select * from users where user_name = 'user2'")
    print(data)
    db.close()
